diff options
Diffstat (limited to 'packages/console/app/src/routes/auth/[...callback].ts')
| -rw-r--r-- | packages/console/app/src/routes/auth/[...callback].ts | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/packages/console/app/src/routes/auth/[...callback].ts b/packages/console/app/src/routes/auth/[...callback].ts index 36a9c5194..fa19b467e 100644 --- a/packages/console/app/src/routes/auth/[...callback].ts +++ b/packages/console/app/src/routes/auth/[...callback].ts @@ -2,9 +2,11 @@ import { redirect } from "@solidjs/router" import type { APIEvent } from "@solidjs/start/server" import { AuthClient } from "~/context/auth" import { useAuthSession } from "~/context/auth" +import { fromPathname, localeFromRequest, route } from "~/lib/language" export async function GET(input: APIEvent) { const url = new URL(input.request.url) + const locale = localeFromRequest(input.request) try { const code = url.searchParams.get("code") @@ -28,7 +30,9 @@ export async function GET(input: APIEvent) { current: id, } }) - return redirect(url.pathname === "/auth/callback" ? "/auth" : url.pathname.replace("/auth/callback", "")) + const next = url.pathname === "/auth/callback" ? "/auth" : url.pathname.replace("/auth/callback", "") + if (fromPathname(next)) return redirect(next) + return redirect(route(locale, next)) } catch (e: any) { return new Response( JSON.stringify({ |
